package Polynoms; public class Operations { int[] addP(int[] polOne, int[] polTwo){ int minSize, maxSize; if(polOne.length < polTwo.length){ minSize = polOne.length; maxSize = polTwo.length; } else { minSize = polTwo.length; maxSize = polOne.length; } int[] result = new int[maxSize]; for(int i = 0; i < minSize; i++){ result[i] = polOne[i] + polTwo[i]; } return result; } int[] subP(int[] polOne, int[] polTwo){ int minSize, maxSize; if(polOne.length < polTwo.length){ minSize = polOne.length; maxSize = polTwo.length; } else { minSize = polTwo.length; maxSize = polOne.length; } int[] result = new int[maxSize]; for(int i = 0; i < minSize; i++){ result[i] = polOne[i] - polTwo[i]; } return result; } int[] mulP(int[] temp1, int[] temp2){ int size1, size2; size1 = temp1.length; size2 = temp2.length; int[] result = new int[size1 + size2]; for(int i = 0; i < size1; i++){ for(int j = 0; j < size2; j++){ result[i + j] = result[i + j] + (temp1[i] * temp2 [j]); } } return result; } int[] derP(int[] temp){ int size = temp.length; int result[] = new int[size - 1]; for(int i = 1; i < size; i++){ result[i-1] = temp[i] * i; } return result; } double[] intgP(double[] temp){ int size = temp.length; double result[] = new double[size + 1]; for(int i = 0; i < size; i++){ result[i+1] = temp[i] / (i+1); } return result; } }